<!DOCTYPE html>
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<meta name="generator" content="ApiGen 2.8.0" />
	<meta name="robots" content="noindex" />

	<title>File Indexer.php</title>

	<script type="text/javascript" src="resources/combined.js?174271566"></script>
	<script type="text/javascript" src="elementlist.js?2473211788"></script>
	<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3505392360" />

</head>

<body>
<div id="left">
	<div id="menu">
		<a href="index.html" title="Overview"><span>Overview</span></a>


		<div id="groups">
		</div>



		<div id="elements">
			<h3>Classes</h3>
			<ul>
				<li class="active"><a href="class-Indexer.html">Indexer</a></li>
				<li><a href="class-SBWord.html">SBWord</a></li>
				<li><a href="class-SpiderBot.html">SpiderBot</a></li>
			</ul>





		</div>
	</div>
</div>

<div id="splitter"></div>

<div id="right">
<div id="rightInner">
	<form id="search">
		<input type="hidden" name="cx" value="" />
		<input type="hidden" name="ie" value="UTF-8" />
		<input type="text" name="q" class="text" />
		<input type="submit" value="Search" />
	</form>

	<div id="navigation">
		<ul>
			<li>
				<a href="index.html" title="Overview"><span>Overview</span></a>
			</li>
			<li>
				<a href="class-Indexer.html" title="Summary of Indexer"><span>Class</span></a>
			</li>
		</ul>
		<ul>
			<li>
				<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
			</li>
		</ul>
		<ul>
		</ul>
	</div>

<pre><code><span id="1" class="l"><a class="l" href="#1">  1: </a><span class="xlang">&lt;?php</span>
</span><span id="2" class="l"><a class="l" href="#2">  2: </a>
</span><span id="3" class="l"><a class="l" href="#3">  3: </a><span class="php-comment">/**
</span></span><span id="4" class="l"><a class="l" href="#4">  4: </a><span class="php-comment"> * Configuration for: Error reporting
</span></span><span id="5" class="l"><a class="l" href="#5">  5: </a><span class="php-comment"> * Useful to show every little problem during development, but only show hard errors in production
</span></span><span id="6" class="l"><a class="l" href="#6">  6: </a><span class="php-comment"> */</span>
</span><span id="7" class="l"><a class="l" href="#7">  7: </a><span class="php-comment">//error_reporting(E_ALL);</span>
</span><span id="8" class="l"><a class="l" href="#8">  8: </a><span class="php-comment">//ini_set(&quot;display_errors&quot;, 1);</span>
</span><span id="9" class="l"><a class="l" href="#9">  9: </a><span class="php-keyword1">require_once</span> <span class="php-quote">'SBWord.php'</span>;
</span><span id="10" class="l"><a class="l" href="#10"> 10: </a>
</span><span id="11" class="l"><a class="l" href="#11"> 11: </a><span class="php-comment">/**
</span></span><span id="12" class="l"><a class="l" href="#12"> 12: </a><span class="php-comment"> * This is the &quot;base controller class&quot;. All other &quot;real&quot; controllers extend this class.
</span></span><span id="13" class="l"><a class="l" href="#13"> 13: </a><span class="php-comment"> */</span>
</span><span id="14" class="l"><a class="l" href="#14"> 14: </a><span class="php-keyword1">class</span> <a id="Indexer" href="#Indexer">Indexer</a> {
</span><span id="15" class="l"><a class="l" href="#15"> 15: </a>
</span><span id="16" class="l"><a class="l" href="#16"> 16: </a>    <span class="php-keyword1">protected</span> <span class="php-var"><a id="$connection" href="#$connection">$connection</a></span>;
</span><span id="17" class="l"><a class="l" href="#17"> 17: </a>    <span class="php-keyword1">protected</span> <span class="php-var"><a id="$Dictionary" href="#$Dictionary">$Dictionary</a></span> = <span class="php-keyword1">array</span>();
</span><span id="18" class="l"><a class="l" href="#18"> 18: </a>
</span><span id="19" class="l"><a class="l" href="#19"> 19: </a>    <span class="php-comment">/**
</span></span><span id="20" class="l"><a class="l" href="#20"> 20: </a><span class="php-comment">     * Searches for all the words from our Dictionary in this Document
</span></span><span id="21" class="l"><a class="l" href="#21"> 21: </a><span class="php-comment">     * @param String $documentData
</span></span><span id="22" class="l"><a class="l" href="#22"> 22: </a><span class="php-comment">     * @return Integer 
</span></span><span id="23" class="l"><a class="l" href="#23"> 23: </a><span class="php-comment">     */</span>
</span><span id="24" class="l"><a class="l" href="#24"> 24: </a>    <span class="php-keyword1">function</span> <a id="_processDocument" href="#_processDocument">processDocument</a>(<span class="php-var">$documentData</span>,<span class="php-var">$url</span>) {
</span><span id="25" class="l"><a class="l" href="#25"> 25: </a>        <span class="php-var">$Index</span> = <span class="php-num">0</span>;
</span><span id="26" class="l"><a class="l" href="#26"> 26: </a>        <span class="php-comment">//$this-&gt;populateDictionary();</span>
</span><span id="27" class="l"><a class="l" href="#27"> 27: </a>        <span class="php-keyword1">foreach</span> (<span class="php-var">$this</span>-&gt;Dictionary <span class="php-keyword1">as</span> <span class="php-var">$dictWord</span>) {
</span><span id="28" class="l"><a class="l" href="#28"> 28: </a>            <span class="php-var">$Log</span> = <span class="php-quote">'Finding Word : '</span> . <span class="php-var">$dictWord</span>-&gt;getMWord() . <span class="php-quote">' in : '</span> . <span class="php-var">$url</span> . PHP_EOL;
</span><span id="29" class="l"><a class="l" href="#29"> 29: </a>            <span class="php-var">$Index</span> = <span class="php-var">$this</span>-&gt;findWord(<span class="php-var">$documentData</span>, <span class="php-var">$dictWord</span>-&gt;getMWord());
</span><span id="30" class="l"><a class="l" href="#30"> 30: </a>            <span class="php-var">$Log</span> .= <span class="php-quote">'Found at : '</span> . <span class="php-var">$Index</span> . PHP_EOL;
</span><span id="31" class="l"><a class="l" href="#31"> 31: </a>            <span class="php-keyword1">if</span> (<span class="php-var">$Index</span> &gt; <span class="php-num">0</span>) {
</span><span id="32" class="l"><a class="l" href="#32"> 32: </a>                <span class="php-var">$this</span>-&gt;openDBConnection();
</span><span id="33" class="l"><a class="l" href="#33"> 33: </a>            }
</span><span id="34" class="l"><a class="l" href="#34"> 34: </a>            <span class="php-comment">// Write the contents to the file, </span>
</span><span id="35" class="l"><a class="l" href="#35"> 35: </a>            <span class="php-comment">// using the FILE_APPEND flag to append the content to the end of the file</span>
</span><span id="36" class="l"><a class="l" href="#36"> 36: </a>            <span class="php-comment">// and the LOCK_EX flag to prevent anyone else writing to the file at the same time</span>
</span><span id="37" class="l"><a class="l" href="#37"> 37: </a>            <span class="php-keyword2">file_put_contents</span>(<span class="php-quote">'/home/exp10r3r/public_html/spiderbot/trunk/SpiderBot/Crawler/Logs.txt'</span>, <span class="php-var">$Log</span>, FILE_APPEND | LOCK_EX);
</span><span id="38" class="l"><a class="l" href="#38"> 38: </a>        }
</span><span id="39" class="l"><a class="l" href="#39"> 39: </a>        <span class="php-keyword1">return</span> <span class="php-var">$Index</span>;
</span><span id="40" class="l"><a class="l" href="#40"> 40: </a>    }
</span><span id="41" class="l"><a class="l" href="#41"> 41: </a>
</span><span id="42" class="l"><a class="l" href="#42"> 42: </a>    <span class="php-comment">/**
</span></span><span id="43" class="l"><a class="l" href="#43"> 43: </a><span class="php-comment">     * Searches for a given word in the Document Data
</span></span><span id="44" class="l"><a class="l" href="#44"> 44: </a><span class="php-comment">     * @param String $documentData Text data of the HTML Document
</span></span><span id="45" class="l"><a class="l" href="#45"> 45: </a><span class="php-comment">     * @param String $word Word to be searched for
</span></span><span id="46" class="l"><a class="l" href="#46"> 46: </a><span class="php-comment">     * @return Integer The position where the word was found
</span></span><span id="47" class="l"><a class="l" href="#47"> 47: </a><span class="php-comment">     */</span>
</span><span id="48" class="l"><a class="l" href="#48"> 48: </a>    <span class="php-keyword1">function</span> <a id="_findWord" href="#_findWord">findWord</a>(<span class="php-var">$documentData</span>, <span class="php-var">$word</span>) {
</span><span id="49" class="l"><a class="l" href="#49"> 49: </a>        <span class="php-var">$Index</span> = -<span class="php-num">1</span>;
</span><span id="50" class="l"><a class="l" href="#50"> 50: </a>        <span class="php-keyword1">if</span> (<span class="php-keyword2">stripos</span>(<span class="php-var">$documentData</span>, <span class="php-var">$word</span>)) {
</span><span id="51" class="l"><a class="l" href="#51"> 51: </a>            <span class="php-var">$Index</span> = <span class="php-keyword2">stripos</span>(<span class="php-var">$documentData</span>, <span class="php-var">$word</span>);
</span><span id="52" class="l"><a class="l" href="#52"> 52: </a>        }
</span><span id="53" class="l"><a class="l" href="#53"> 53: </a>        <span class="php-keyword1">return</span> <span class="php-var">$Index</span>;
</span><span id="54" class="l"><a class="l" href="#54"> 54: </a>    }
</span><span id="55" class="l"><a class="l" href="#55"> 55: </a>
</span><span id="56" class="l"><a class="l" href="#56"> 56: </a>    <span class="php-comment">/**
</span></span><span id="57" class="l"><a class="l" href="#57"> 57: </a><span class="php-comment">     * Opens up a Database connection and sets the $connection variable to hold this connection
</span></span><span id="58" class="l"><a class="l" href="#58"> 58: </a><span class="php-comment">     */</span>
</span><span id="59" class="l"><a class="l" href="#59"> 59: </a>    <span class="php-keyword1">function</span> <a id="_openDBConnection" href="#_openDBConnection">openDBConnection</a>() {
</span><span id="60" class="l"><a class="l" href="#60"> 60: </a>        <span class="php-var">$this</span>-&gt;connection = <span class="php-keyword2">mysqli_connect</span>(<span class="php-quote">&quot;localhost&quot;</span>, <span class="php-quote">&quot;admin&quot;</span>, <span class="php-quote">&quot;admin&quot;</span>); <span class="php-comment">//database connection</span>
</span><span id="61" class="l"><a class="l" href="#61"> 61: </a>        <span class="php-keyword2">mysqli_select_db</span>(<span class="php-var">$this</span>-&gt;connection, <span class="php-quote">&quot;dbspiderbot&quot;</span>);
</span><span id="62" class="l"><a class="l" href="#62"> 62: </a>    }
</span><span id="63" class="l"><a class="l" href="#63"> 63: </a>
</span><span id="64" class="l"><a class="l" href="#64"> 64: </a>    <span class="php-comment">/**
</span></span><span id="65" class="l"><a class="l" href="#65"> 65: </a><span class="php-comment">     * Closes an Open database connection
</span></span><span id="66" class="l"><a class="l" href="#66"> 66: </a><span class="php-comment">     */</span>
</span><span id="67" class="l"><a class="l" href="#67"> 67: </a>    <span class="php-keyword1">function</span> <a id="_closeDBConnection" href="#_closeDBConnection">closeDBConnection</a>() {
</span><span id="68" class="l"><a class="l" href="#68"> 68: </a>        <span class="php-keyword2">mysqli_close</span>(<span class="php-var">$this</span>-&gt;connection);
</span><span id="69" class="l"><a class="l" href="#69"> 69: </a>    }
</span><span id="70" class="l"><a class="l" href="#70"> 70: </a>
</span><span id="71" class="l"><a class="l" href="#71"> 71: </a>    <span class="php-comment">/**
</span></span><span id="72" class="l"><a class="l" href="#72"> 72: </a><span class="php-comment">     * Time to index this data into the Database
</span></span><span id="73" class="l"><a class="l" href="#73"> 73: </a><span class="php-comment">     * @param String $URL Address of the link where 
</span></span><span id="74" class="l"><a class="l" href="#74"> 74: </a><span class="php-comment">     * @param String $Word Word to index this document against
</span></span><span id="75" class="l"><a class="l" href="#75"> 75: </a><span class="php-comment">     * @param type $Position Position of the word in this Document
</span></span><span id="76" class="l"><a class="l" href="#76"> 76: </a><span class="php-comment">     */</span>
</span><span id="77" class="l"><a class="l" href="#77"> 77: </a>    <span class="php-keyword1">function</span> <a id="_indexData" href="#_indexData">indexData</a>(<span class="php-var">$URL</span>, <span class="php-var">$Word</span>, <span class="php-var">$Position</span>) {
</span><span id="78" class="l"><a class="l" href="#78"> 78: </a>        
</span><span id="79" class="l"><a class="l" href="#79"> 79: </a>    }
</span><span id="80" class="l"><a class="l" href="#80"> 80: </a>
</span><span id="81" class="l"><a class="l" href="#81"> 81: </a>    <span class="php-comment">/**
</span></span><span id="82" class="l"><a class="l" href="#82"> 82: </a><span class="php-comment">     * Fill our Dictionary of Words from the Database
</span></span><span id="83" class="l"><a class="l" href="#83"> 83: </a><span class="php-comment">     */</span>
</span><span id="84" class="l"><a class="l" href="#84"> 84: </a>    <span class="php-keyword1">function</span> <a id="_fillDictionary" href="#_fillDictionary">fillDictionary</a>() {
</span><span id="85" class="l"><a class="l" href="#85"> 85: </a>        <span class="php-comment">//echo &quot;in fillDict function&lt;br/&gt;&quot;;</span>
</span><span id="86" class="l"><a class="l" href="#86"> 86: </a>        <span class="php-keyword1">if</span> (<span class="php-keyword1">empty</span>(<span class="php-var">$this</span>-&gt;Dictionary)) {
</span><span id="87" class="l"><a class="l" href="#87"> 87: </a>            <span class="php-comment">//echo 'Dictionary is empty&lt;br/&gt;';</span>
</span><span id="88" class="l"><a class="l" href="#88"> 88: </a>            <span class="php-var">$this</span>-&gt;openDBConnection();
</span><span id="89" class="l"><a class="l" href="#89"> 89: </a>            <span class="php-var">$Query</span> = <span class="php-quote">&quot;SELECT ID,Word FROM tbldictionary&quot;</span>;
</span><span id="90" class="l"><a class="l" href="#90"> 90: </a>            <span class="php-var">$ResultSet</span> = <span class="php-keyword2">mysqli_query</span>(<span class="php-var">$this</span>-&gt;connection, <span class="php-var">$Query</span>);
</span><span id="91" class="l"><a class="l" href="#91"> 91: </a>            <span class="php-keyword1">while</span> (<span class="php-var">$row</span> = <span class="php-keyword2">mysqli_fetch_array</span>(<span class="php-var">$ResultSet</span>)) {
</span><span id="92" class="l"><a class="l" href="#92"> 92: </a>                <span class="php-keyword2">array_push</span>(<span class="php-var">$this</span>-&gt;Dictionary, SBWord::withRow(<span class="php-var">$row</span>));
</span><span id="93" class="l"><a class="l" href="#93"> 93: </a>                <span class="php-comment">//echo $row['ID'] . &quot; &quot; . $row['Word'];</span>
</span><span id="94" class="l"><a class="l" href="#94"> 94: </a>                <span class="php-comment">//echo &quot;&lt;br/&gt;&quot;;</span>
</span><span id="95" class="l"><a class="l" href="#95"> 95: </a>            }
</span><span id="96" class="l"><a class="l" href="#96"> 96: </a>            <span class="php-var">$this</span>-&gt;closeDBConnection();
</span><span id="97" class="l"><a class="l" href="#97"> 97: </a>        }
</span><span id="98" class="l"><a class="l" href="#98"> 98: </a>        <span class="php-comment">//echo &quot;fillDict function done&lt;br/&gt;&quot;;</span>
</span><span id="99" class="l"><a class="l" href="#99"> 99: </a>    }
</span><span id="100" class="l"><a class="l" href="#100">100: </a>
</span><span id="101" class="l"><a class="l" href="#101">101: </a>    <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="___construct" href="#___construct">__construct</a>() {
</span><span id="102" class="l"><a class="l" href="#102">102: </a>        
</span><span id="103" class="l"><a class="l" href="#103">103: </a>    }
</span><span id="104" class="l"><a class="l" href="#104">104: </a>
</span><span id="105" class="l"><a class="l" href="#105">105: </a>}
</span><span id="106" class="l"><a class="l" href="#106">106: </a>
</span><span id="107" class="l"><a class="l" href="#107">107: </a><span class="php-comment">//$Indexer = new Indexer();</span>
</span><span id="108" class="l"><a class="l" href="#108">108: </a><span class="php-comment">//$Indexer-&gt;fillDictionary();</span>
</span><span id="109" class="l"><a class="l" href="#109">109: </a><span class="php-comment">//echo '&lt;br/&gt;Index : ' . $Indexer-&gt;processDocument('Data VyadhaMarg Home About Contact Dropdown Action Another action Something else here Nav header Separated link One more separated link VyadhaMarg Welcome to the ways of the hunter. Witness me as I go ahead and explore the great wilderness that is inside our minds and experiment along with things that intrigue me. Hello Hello Hello Hello Hello Hello â† Older Newer â†’ Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. © VyadhaMarg 2014 [&quot;Hello&quot;,&quot;Wolrd&quot;]', &quot;http://localhost/&quot;);</span>
</span><span id="110" class="l"><a class="l" href="#110">110: </a></span></code></pre>

	<div id="footer">
		 API documentation generated by <a href="http://apigen.org">ApiGen 2.8.0</a>
	</div>
</div>
</div>
</body>
</html>
